﻿#ifndef BATCHDIALOG_H
#define BATCHDIALOG_H

#include <QtWidgets/QDialog>
#include <QtWidgets/QVBoxLayout>
#include <QtWidgets/QPushButton>
#include <QtWidgets/QCheckBox>
#include "ButtonPad.h"

namespace Ui {
class BatchDialog;
}

class BatchDialog : public QDialog
{
    Q_OBJECT

public:
    explicit BatchDialog(QWidget *parent = 0);
    /**
    * @brief 是否需要自动对焦
    * @return true 表示需要自动对焦 false 表示无需自动对焦
    */
    bool autoFocus() const;
    /**
    * @brief 是否需要自动测量喷嘴直径
    * @return true 表示需要测量直径，false 则无需测量直径
    */
    bool autoMeasure() const;

    bool autoCenter() const;
    /**
    * @brief 保存文件时是否连同标尺一起保存
    * @return true 表示保存标尺，false 则无需保存标尺
    */

    bool saveWithMark() const;
    /**
    * @brief 返回所有被选取的位置的坐标，
    * @return QPoint.rx 表示 row， QPoint.ry 表示 col 从 0 开始计数
    */
    QVector<QPoint> getMeasurePoints();
    ~BatchDialog();

private:
    void initContent();
    void initConnection();
private:
    QVBoxLayout * verticalLayout;
    QHBoxLayout * horizontalLayout;

    QPushButton * pushButtonCheckAll;
    QPushButton * pushButtonUncheckAll;
    QPushButton * pushButtonOK;
    QPushButton * pushButtonReject;

    QCheckBox * checkBoxAutoFocus;
    QCheckBox * checkBoxAutoMeasure;
    QCheckBox * checkBoxAutoCenter;
    ButtonPad * buttonPad;
};

#endif // BATCHDIALOG_H
